package com.wu.cloud.userservice.dao;

import bean.UserLoginEntity;
import bean.UserRegisterEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wu.cloud.userservice.entity.db.UserTableEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author xwu36
 */
public interface UserAccountMapperDao extends BaseMapper<UserTableEntity> {

    /**
     * 增加一个账号
     *
     * @param userLoginEntity 参数
     * @return int
     */
    int addAccount(UserRegisterEntity userLoginEntity);

    /**
     * 查询一个用户
     *
     * @param userLoginEntity 参数
     * @return list
     */
    List<Map<String, Object>> queryUser(UserLoginEntity userLoginEntity);

    /**
     * 通过用户名查找一个用户
     *
     * @param username 用户名
     * @return user
     */
    List<Map<String,Object>> findByUsername(@Param("username") String username);

    /**
     * 查询用户旧密码
     *
     * @param userId 用户ID
     * @return list
     */
    List<Map<String, Object>> queryOldPwd(@Param("userId") String userId);

    /**
     * 重置密码
     *
     * @param userId   用户ID
     * @param password 用户新密码
     * @return int
     */
    int resetPassword(@Param("userId") String userId, @Param("password") String password);

    /**
     * 根据角色名查询权限
     * @param role 角色名
     * @return list
     */
    List<Map<String,String>> getPermissionByRole(@Param("role") String role);

}
